﻿using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Navigation;
using Contratos.Otros;
using Presentadores.Otros;

namespace MJD.Otros
{
    public partial class AdministrarRecursos : Page,IAgregarRecurso
    {
        #region Atributos

        /// <summary> Objeto que posee las propiedades del presentador de la vista </summary>
        private PresentadorAgregarRecurso _presentador;

        #endregion

        #region Constructor


        /// <summary> Constructor de la pagina </summary>
        public AdministrarRecursos()
        {
            InitializeComponent();
            _presentador = new PresentadorAgregarRecurso(this);
        }


        #endregion

        #region Eventos

        /// <summary> Evento que se ejecuta cuando se inicializa la pagina </summary>
        /// <param name="e">objeto que posee arguemto del evento</param>
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
        }

        /// <summary> Evento que se ejecuta cuando se da click al radioButton de tipo de siniesto </summary>
        /// <param name="sender">Objeto que realiza el evento</param>
        /// <param name="e">objeto que posee arguemto del evento</param>
        private void RadioButton1Checked(object sender, RoutedEventArgs e)
        {
            _presentador.TipoSiniestroSeleccionado();
        }


        /// <summary> Evento que se ejecuta cuando se da click al radioButton de tipo de causa </summary>
        /// <param name="sender">Objeto que realiza el evento</param>
        /// <param name="e">objeto que posee arguemto del evento</param>
        private void RadioButton2Checked(object sender, RoutedEventArgs e)
        {
            _presentador.CausaSiniestroSeleccionado();
        }


        /// <summary> Evento que se ejecuta cuando se da click al radioButton de tipo de recaudo </summary>
        /// <param name="sender">Objeto que realiza el evento</param>
        /// <param name="e">objeto que posee arguemto del evento</param>
        private void RadioButton3Checked(object sender, RoutedEventArgs e)
        {
            _presentador.RecaudoSeleccionado();
        }

        #endregion

        #region Propiedades

        /// <summary> Metodo que redirecciona a la ruta indicada </summary>
        /// <param name="ruta">ruta a la cual se redireccionara</param>
        public void Redireccionar(string ruta)
        {
            throw new NotImplementedException();
        }


        /// <summary> Metodo que muestra un mensaje de notificacion</summary>
        /// <param name="mensaje">mensaje a mostrar</param>
        public void MostrarMensajeNotificacion(string mensaje)
        {
            throw new NotImplementedException();
        }


        /// <summary> Metodo que muestra un mensaje de error </summary>
        /// <param name="mensaje">mensaje a mostrar</param>
        public void MostrarMensajeError(string mensaje)
        {
            throw new NotImplementedException();
        }


        /// <summary> Metodo que muestra un mensaje de confirmacion </summary>
        /// <param name="mensaje">mensaje a mostrar</param>
        public void MostrarMensajeConfirmacion(string mensaje)
        {
            throw new NotImplementedException();
        }


        /// <summary>
        /// propiedad que devuelve el valor del control que lista los siniestro
        /// </summary>
        public DataGrid ListaTipoSiniestro
        {
            get { return dgSiniestros; }
        }


        /// <summary>
        /// Propiedad que devuelve el valor del control que lista las causas de siniestro
        /// </summary>
        public DataGrid ListaCausaSiniesto
        {
            get { return dgRecaudos; }
        }


        /// <summary>
        /// Propiedad que devuelve el valor del control donde el usuario ingresa el nombre del recurso
        /// </summary>
        public TextBox NombreRecurso
        {
            get { return tbNombreRecurso; }
        }


        /// <summary>
        /// Propiedad que devuelveel valor del control de la seleccion del tipo de siniestro
        /// </summary>
        public RadioButton TipoSiniestro
        {
            get { return rbTipo; }
        }


        /// <summary>
        /// Propiedad que devuelveel valor del control de la seleccion de causa de siniestro
        /// </summary>
        public RadioButton CausaSiniestro
        {
            get { return rbCausa; }
        }


        /// <summary>
        /// Propiedad que devuelveel valor del control de la seleccion de recaudo
        /// </summary>
        public RadioButton Recaudo
        {
            get { return rbRecaudo; }
        }

        #endregion
    }
}
